﻿using System;
using System.Configuration;
using mojoPortal.Net;
using mojoPortal.Web;
using Resources;
using mojoPortal.Web.Framework;
using System.Collections;
using mojoPortal.Business;
using ud_gSDMS.Code_Service;
using mojoPortal.Business.WebHelpers;
using System.IO;
using Brettle.Web.NeatUpload;
using System.Collections.Generic;
using System.Web.UI.WebControls;
using System.Web.UI;
namespace ud_gSDMS.Member
{
    public partial class Research : mojoBasePage
    {
        private int pageId = -1;
        private int moduleId = -1;
        private string id;
        private SiteUser _siteUser;
        protected String cacheDependencyKey;
        DBQLNS _respository=new DBQLNS();
        
        void Page_Load(object sender, EventArgs e)
        {
            _siteUser = SiteUtils.GetCurrentSiteUser();
            if (_siteUser == null)
            {
                WebUtils.SetupRedirect(this, SiteRoot + "/AccessDenied.aspx");
            }

            if (!Page.IsPostBack)
            {
                PopulateLabels();
                PopulateControls();
            }
        }
        private void PopulateLabels()
        {
            leftMenuItem.CurrentSite = Request.RawUrl;
            ScientificResearch sf1 = new ScientificResearch("1989", "Đại Học Cần Thơ", "Đại Học Cần Thơ", "Chủ trì và tham gia", "Quản lý kết quả học tập sinh viên", "1990", "Phòng Đào Tạo");
            ScientificResearch sf2 = new ScientificResearch("2005", "Đại Học Cần Thơ", "Đại Học Cần Thơ", "Chủ trì và tham gia", "Quy trình thiết kế CSDL phân tán", "2006", "Khoa CNTT & TT");
            ScientificResearch sf3 = new ScientificResearch("2010", "Đại Học Công Nghệ Thông Tin", "Đại Học Công nghệ Thông Tin", "Chủ trì và tham gia", "Hệ thống quản lý đào tạo chính quy", "2010", "DHCNTT");
            List<ScientificResearch> lst = new List<ScientificResearch>();
            lst.Add(sf1);
            lst.Add(sf2);
            lst.Add(sf3);
            Session["Research"] = lst;
        }
        private void BindData()
        {
            gvChildInfo.DataSource = Session["Research"];
            gvChildInfo.DataBind();
        }

        private void PopulateControls()
        {
            BindData();
        }
        #region OnInit

        protected override void OnPreInit(EventArgs e)
        {
            AllowSkinOverride = true;
            base.OnPreInit(e);
            Load += Page_Load;
        }

        protected override void OnInit(EventArgs e)
        {
            LoadParams();
            LoadPanels();
            base.OnInit(e);
            SuppressPageMenu();
        }

        private void LoadParams()
        {
            pageId = WebUtils.ParseInt32FromQueryString("pageid", pageId);
            moduleId = WebUtils.ParseInt32FromQueryString("mid", true, moduleId);
            id = WebUtils.ParseStringFromQueryString("id", id);
            cacheDependencyKey = "Module-" + moduleId.ToInvariantString();
        }

        private void LoadPanels()
        {
            bool showLeftColumnAdmin = ConfigHelper.GetBoolProperty("ShowLeftColumnAdmin", false);
            bool showRightColumnAdmin = ConfigHelper.GetBoolProperty("ShowRightColumnAdmin", false);
            bool showTopColumnAdmin = ConfigHelper.GetBoolProperty("ShowTopColumnAdmin", false);
            bool showBottomColumnAdmin = ConfigHelper.GetBoolProperty("ShowBottomColumnAdmin", false);
            int showCenterColumnAdmin = ConfigHelper.GetIntProperty("ShowCenterColumnAdmin", 0);
            LoadSideContent(showLeftColumnAdmin, showRightColumnAdmin, showTopColumnAdmin, showBottomColumnAdmin, showCenterColumnAdmin);
        }
        #endregion

        protected void gvChildInfo_RowEditing(object sender, GridViewEditEventArgs e)
        {
            gvChildInfo.EditIndex = e.NewEditIndex;
            BindData();
        }

        protected void gvChildInfo_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            gvChildInfo.EditIndex = -1;
            BindData();
        }

        protected void gvChildInfo_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            List<ScientificResearch> l = (List<ScientificResearch>)Session["Research"];
            TextBox txt_tuden= (TextBox)gvChildInfo.Rows[e.RowIndex].FindControl("txt1");
            TextBox txt_capql = (TextBox)gvChildInfo.Rows[e.RowIndex].FindControl("txt2");
            TextBox txt_cqchutri = (TextBox)gvChildInfo.Rows[e.RowIndex].FindControl("txt3");
            TextBox txt_chucdanh = (TextBox)gvChildInfo.Rows[e.RowIndex].FindControl("txt4");
            TextBox txt_detai = (TextBox)gvChildInfo.Rows[e.RowIndex].FindControl("txt5");
            TextBox txt_ngaynt = (TextBox)gvChildInfo.Rows[e.RowIndex].FindControl("txt6");
            TextBox txt_noiqlkq = (TextBox)gvChildInfo.Rows[e.RowIndex].FindControl("txt7");

            ScientificResearch newsf = new ScientificResearch(txt_tuden.Text, txt_capql.Text,txt_cqchutri.Text,txt_chucdanh.Text,txt_detai.Text,txt_ngaynt.Text,txt_noiqlkq.Text);
            l[e.RowIndex] = newsf;
            gvChildInfo.EditIndex = -1;
            BindData();
        }

        protected void gvChildInfo_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            List<ScientificResearch> l = (List<ScientificResearch>)Session["Research"];
            l.RemoveAt(e.RowIndex);
            BindData();
        }
    }

    public class ScientificResearch
    {
        public string TuDen { get; set; }
        public string CapQL { get; set; }
        public string CQChuTri { get; set; }
        public string ChucDanh { get; set; }
        public string DeTai { get; set; }
        public string NgayNT { get; set; }
        public string NoiQLKQ { get; set; }
        public ScientificResearch(string tuDen, string capQL, string cqChuTri, string chucDanh, string deTai, string ngayNT, string noiQLKQ)
        {
            this.TuDen = tuDen;
            this.CapQL = capQL;
            this.CQChuTri = cqChuTri;
            this.ChucDanh = chucDanh;
            this.DeTai = deTai;
            this.NgayNT = ngayNT;
            this.NoiQLKQ = noiQLKQ;
        }
    }

    
}